package com.geek.entity.game;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @Desc TODO
 * @Author yeban
 * @Date 2025/11/20
 */
public class Heros {
    private Integer id;               // 主键
    private String name;              // 英雄名称
    private String alias;             // 英文别名
    private String title;             // 英雄称号
    private Integer attack;           // 攻击力评级
    private Integer defense;          // 防御力评级
    private Integer magic;            // 魔法能力评级
    private Integer difficulty;       // 操作难度评级
    private String selectAudio;       // 选择语音URL
    private String banAudio;          // 禁用语音URL
    private String keywords;          // 搜索关键词
    private String iconImg;           // 头像图片URL
    private String bgImg;             // 背景图片URL
    private LocalDateTime createdAt;  // 创建时间
    private LocalDateTime updatedAt;  // 更新时间
    private Integer isDeleted;        // 逻辑删除 0未删 1已删

    // 一对多 hero -> roles
    private List<Roles> rolesList;
    // 一对多 hero -> goods
    private List<Goods> goodsList;
    // 一对一 hero -> skill
    private Skill skill;

    public Heros() {
    }

    public Heros(Integer id, String name, String alias, String title, Integer attack, Integer defense, Integer magic, Integer difficulty, String selectAudio, String banAudio, String keywords, String iconImg, String bgImg, LocalDateTime createdAt, LocalDateTime updatedAt, Integer isDeleted) {
        this.id = id;
        this.name = name;
        this.alias = alias;
        this.title = title;
        this.attack = attack;
        this.defense = defense;
        this.magic = magic;
        this.difficulty = difficulty;
        this.selectAudio = selectAudio;
        this.banAudio = banAudio;
        this.keywords = keywords;
        this.iconImg = iconImg;
        this.bgImg = bgImg;
        this.createdAt = createdAt;
        this.updatedAt = updatedAt;
        this.isDeleted = isDeleted;
    }

    public Heros(Integer id, String name, String alias, String title, Integer attack, Integer defense, Integer magic, Integer difficulty, String selectAudio, String banAudio, String keywords, String iconImg, String bgImg, LocalDateTime createdAt, LocalDateTime updatedAt, Integer isDeleted, List<Roles> rolesList, List<Goods> goodsList, Skill skill) {
        this.id = id;
        this.name = name;
        this.alias = alias;
        this.title = title;
        this.attack = attack;
        this.defense = defense;
        this.magic = magic;
        this.difficulty = difficulty;
        this.selectAudio = selectAudio;
        this.banAudio = banAudio;
        this.keywords = keywords;
        this.iconImg = iconImg;
        this.bgImg = bgImg;
        this.createdAt = createdAt;
        this.updatedAt = updatedAt;
        this.isDeleted = isDeleted;
        this.rolesList = rolesList;
        this.goodsList = goodsList;
        this.skill = skill;
    }

    /**
     * 获取
     * @return id
     */
    public Integer getId() {
        return id;
    }

    /**
     * 设置
     * @param id
     */
    public void setId(Integer id) {
        this.id = id;
    }

    /**
     * 获取
     * @return name
     */
    public String getName() {
        return name;
    }

    /**
     * 设置
     * @param name
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取
     * @return alias
     */
    public String getAlias() {
        return alias;
    }

    /**
     * 设置
     * @param alias
     */
    public void setAlias(String alias) {
        this.alias = alias;
    }

    /**
     * 获取
     * @return title
     */
    public String getTitle() {
        return title;
    }

    /**
     * 设置
     * @param title
     */
    public void setTitle(String title) {
        this.title = title;
    }

    /**
     * 获取
     * @return attack
     */
    public Integer getAttack() {
        return attack;
    }

    /**
     * 设置
     * @param attack
     */
    public void setAttack(Integer attack) {
        this.attack = attack;
    }

    /**
     * 获取
     * @return defense
     */
    public Integer getDefense() {
        return defense;
    }

    /**
     * 设置
     * @param defense
     */
    public void setDefense(Integer defense) {
        this.defense = defense;
    }

    /**
     * 获取
     * @return magic
     */
    public Integer getMagic() {
        return magic;
    }

    /**
     * 设置
     * @param magic
     */
    public void setMagic(Integer magic) {
        this.magic = magic;
    }

    /**
     * 获取
     * @return difficulty
     */
    public Integer getDifficulty() {
        return difficulty;
    }

    /**
     * 设置
     * @param difficulty
     */
    public void setDifficulty(Integer difficulty) {
        this.difficulty = difficulty;
    }

    /**
     * 获取
     * @return selectAudio
     */
    public String getSelectAudio() {
        return selectAudio;
    }

    /**
     * 设置
     * @param selectAudio
     */
    public void setSelectAudio(String selectAudio) {
        this.selectAudio = selectAudio;
    }

    /**
     * 获取
     * @return banAudio
     */
    public String getBanAudio() {
        return banAudio;
    }

    /**
     * 设置
     * @param banAudio
     */
    public void setBanAudio(String banAudio) {
        this.banAudio = banAudio;
    }

    /**
     * 获取
     * @return keywords
     */
    public String getKeywords() {
        return keywords;
    }

    /**
     * 设置
     * @param keywords
     */
    public void setKeywords(String keywords) {
        this.keywords = keywords;
    }

    /**
     * 获取
     * @return iconImg
     */
    public String getIconImg() {
        return iconImg;
    }

    /**
     * 设置
     * @param iconImg
     */
    public void setIconImg(String iconImg) {
        this.iconImg = iconImg;
    }

    /**
     * 获取
     * @return bgImg
     */
    public String getBgImg() {
        return bgImg;
    }

    /**
     * 设置
     * @param bgImg
     */
    public void setBgImg(String bgImg) {
        this.bgImg = bgImg;
    }

    /**
     * 获取
     * @return createdAt
     */
    public LocalDateTime getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置
     * @param createdAt
     */
    public void setCreatedAt(LocalDateTime createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取
     * @return updatedAt
     */
    public LocalDateTime getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置
     * @param updatedAt
     */
    public void setUpdatedAt(LocalDateTime updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取
     * @return isDeleted
     */
    public Integer getIsDeleted() {
        return isDeleted;
    }

    /**
     * 设置
     * @param isDeleted
     */
    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

    /**
     * 获取
     * @return rolesList
     */
    public List<Roles> getRolesList() {
        return rolesList;
    }

    /**
     * 设置
     * @param rolesList
     */
    public void setRolesList(List<Roles> rolesList) {
        this.rolesList = rolesList;
    }

    /**
     * 获取
     * @return goodsList
     */
    public List<Goods> getGoodsList() {
        return goodsList;
    }

    /**
     * 设置
     * @param goodsList
     */
    public void setGoodsList(List<Goods> goodsList) {
        this.goodsList = goodsList;
    }

    /**
     * 获取
     * @return skill
     */
    public Skill getSkill() {
        return skill;
    }

    /**
     * 设置
     * @param skill
     */
    public void setSkill(Skill skill) {
        this.skill = skill;
    }

    public String toString() {
        return "Heros{id = " + id + ", name = " + name + ", alias = " + alias + ", title = " + title + ", attack = " + attack + ", defense = " + defense + ", magic = " + magic + ", difficulty = " + difficulty + ", selectAudio = " + selectAudio + ", banAudio = " + banAudio + ", keywords = " + keywords + ", iconImg = " + iconImg + ", bgImg = " + bgImg + ", createdAt = " + createdAt + ", updatedAt = " + updatedAt + ", isDeleted = " + isDeleted + ", rolesList = " + rolesList + ", goodsList = " + goodsList + ", skill = " + skill + "}";
    }
}
